#pragma once

#include <gl/glew.h>

namespace Renderer
{
	namespace GL3x
	{
		/*enum class BufferTarget
		{
		ArrayBuffer = 34962,
		ElementArrayBuffer = 34963,
		PixelPackBuffer = 35051,
		PixelUnpackBuffer = 35052,
		UniformBuffer = 35345,
		TextureBuffer = 35882,
		TransformFeedbackBuffer = 35982,
		CopyReadBuffer = 36662,
		CopyWriteBuffer = 36663,
		};*/


		/*enum class BufferUsageHint
		{
		StreamDraw = 35040,
		StreamRead = 35041,
		StreamCopy = 35042,
		StaticDraw = 35044,
		StaticRead = 35045,
		StaticCopy = 35046,
		DynamicDraw = 35048,
		DynamicRead = 35049,
		DynamicCopy = 35050,
		};*/

		enum class BufferTarget
		{
			ArrayBuffer = GL_ARRAY_BUFFER,
			ElementArrayBuffer = GL_ELEMENT_ARRAY_BUFFER,
			PixelPackBuffer = GL_PIXEL_PACK_BUFFER,
			PixelUnpackBuffer = GL_PIXEL_UNPACK_BUFFER,
			UniformBuffer = GL_UNIFORM_BUFFER,
			TextureBuffer = GL_TEXTURE_BUFFER,
			TransformFeedbackBuffer = GL_TRANSFORM_FEEDBACK_BUFFER,
			CopyReadBuffer = GL_COPY_READ_BUFFER,
			CopyWriteBuffer = GL_COPY_WRITE_BUFFER,
		};

		enum class BufferUsageHint
		{
			StreamDraw = GL_STREAM_DRAW,
			StreamRead = GL_STREAM_READ,
			StreamCopy = GL_STREAM_COPY,
			StaticDraw = GL_STATIC_DRAW,
			StaticRead = GL_STATIC_READ,
			StaticCopy = GL_STATIC_COPY,
			DynamicDraw = GL_DYNAMIC_DRAW,
			DynamicRead = GL_DYNAMIC_READ,
			DynamicCopy = GL_DYNAMIC_COPY,
		};
	}
}